package org.lestr.secuel.noyau.systemeLogique.conditions;

import org.jdom.Element;

import org.lestr.secuel.m3ds.animations.AnimationObjets3D;
import org.lestr.secuel.m3ds.objets3D.Objet3D;
import org.lestr.secuel.m3ds.objets3D.Objet3DEcouteur;
import org.lestr.secuel.m3ds.objets3D.Texture;
import org.lestr.secuel.m3ds.objets3D.Triangle;

public class ConditionObjet3DDimension extends ConditionAbstraite implements Objet3DEcouteur {

	
	// Définition de constantes
	private static final long serialVersionUID = 1L;

	
	// Déclaration des attributs
	private Objet3D objet;
	
	
	/** Constructeur */
	public ConditionObjet3DDimension(){
	
		// Instanciation des attributs
		objet = null;
		
		// Défini le nom de la collision
		setTypeNom("Objet 3D - Dimension");
		
	}// FIN Constructeur
	
	
	/** Défini l'objet */
	public void defObjet(Objet3D objet){
	
		// Supprime les écouteurs sur l'ancien
		if(this.objet != null)
			this.objet.retraitEcouteur(this);
		
		// Mémorise
		this.objet = objet;
		
		// Ajoute un écouteur de collsion à l'objet
		objet.ajoutEcouteur(this);
		
	}// FIN defObjet
	
	
	/** Retourne l'objet */
	public Objet3D retObjet(){
		
		return objet;
		
	}// FIN retObjet


	public void animationAjoutée(Objet3D objet, AnimationObjets3D animation) {}
	public void animationRetirée(Objet3D objet, AnimationObjets3D animation) {}
	public void arrêté(Objet3D objet) {}
	public void formeChangée(Objet3D objet) {}
	public void lu(Objet3D objet) {}
	public void nomChangé(Objet3D objet, String ancienNom) {}
	public void objet3DDimensionné(Objet3D objet, double deltaDimensionX, double deltaDimensionY, double deltaDimensionZ) {
		
		vraie();
		fausse();
		
	}
	public void objet3DDéplacé(Objet3D objet, double deltaX, double deltaY, double deltaZ) {}
	public void objet3DOrienté(Objet3D objet, double deltaAngleX, double deltaAngleY, double deltaAngleZ) {}
	public void réflexionChangée(Objet3D objet, int ancienneRéfexion) {}
	public void textureChangée(Objet3D objet, Texture texture) {}
	public void transparenceChangée(Objet3D objet, int ancienneTransparence) {}
	public void triangleAjouté(Objet3D objet, Triangle triangle) {}
	public void triangleRetiré(Objet3D objet, Triangle triangle) {}


	@Override
	public void charger(Element xml) {
		// TODO Auto-generated method stub
		
	}


	@Override
	public Element compiler() {
		// TODO Auto-generated method stub
		return null;
	}
	
}// FIN Classe